unit AddMin;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TAddMinForm = class(TForm)
    Label1: TLabel;
    Min: TEdit;
    Label2: TLabel;
    Sek: TEdit;
    Label3: TLabel;
    Eintragen: TButton;
    Abbrechen: TButton;
    procedure EintragenClick(Sender: TObject);
    procedure MinKeyPress(Sender: TObject; var Key: Char);
    procedure AbbrechenClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
  public
    ZuErbringendeLeistung: TStringList;
    ErbrachteLeistung: string;
  end;

implementation

uses main, StrUtils;

{$R *.dfm}

procedure TAddMinForm.EintragenClick(Sender: TObject);
begin
   If Min.Text = '' then
      Min.Text := '0';
   If Sek.Text = '' then
      Sek.Text := '00';
   If (StrToInt(ZuErbringendeLeistung[0])*60)+StrToInt(ZuErbringendeLeistung[1]) <
      (StrToInt(Min.Text)*60)+StrToInt(Sek.Text) then
   begin
      ShowMessage('Achtung !!!'
                  + #10#13 + 'Der Teilnehmer hat mit dem Eingegebenen Wert die geforderte Leistung nicht erbracht.!');
      Close;
   end else begin
      ErbrachteLeistung :=
         IntToStr(((StrToInt(Min.Text)*60)+StrToInt(Sek.Text)) div 60) + ':'
         + IntToStr(((StrToInt(Min.Text)*60)+StrToInt(Sek.Text)) mod 60) + ' min';
      if Length(ErbrachteLeistung)-Pos(':', ErbrachteLeistung) < 6 then
      begin
        ErbrachteLeistung := LeftStr(ErbrachteLeistung, length(ErbrachteLeistung)-5)
                              + '0' + RightStr(ErbrachteLeistung, 5);
      end;
      Close;
   end;
   Min.SetFocus;
end;

procedure TAddMinForm.MinKeyPress(Sender: TObject; var Key: Char);
begin
   if not (Key in [#48..#57,#8]) then
      Key := #0;
end;

procedure TAddMinForm.AbbrechenClick(Sender: TObject);
begin
   Close;
end;

procedure TAddMinForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   ZuErbringendeLeistung.Free;
end;

procedure TAddMinForm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_Return then
    EintragenClick(nil);
end;

procedure TAddMinForm.FormCreate(Sender: TObject);
begin
  ErbrachteLeistung := '';
  ZuErbringendeLeistung := TStringList.Create;
  ZuErbringendeLeistung.Delimiter := #58;
end;

end.
